home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgramD2.iso / Borland / Borland C++ V5.02 / WINSYS.PAK / UIMETRIC.H < prev    next >
C/C++ Source or Header  |  1997-05-06  |  4KB  |  145 lines

  1. //----------------------------------------------------------------------------
  2. // Borland WinSys Library
  3. // Copyright (c) 1995, 1996 by Borland International, All Rights Reserved
  4. //
  5. //$Revision:   5.7  $
  6. //
  7. // Definition of TUIMetric, a UI metrics provider class
  8. //----------------------------------------------------------------------------
  9. #if !defined(WINSYS_UIMETRIC_H)
  10. #define WINSYS_UIMETRIC_H
  11.  
  12. #if !defined(WINSYS_DEFS_H)
  13. # include <winsys/defs.h>
  14. #endif
  15. #if !defined(WINSYS_WSYSINC_H)
  16. # include <winsys/wsysinc.h>
  17. #endif
  18.  
  19. #if defined(BI_NAMESPACE)
  20. namespace ClassLib {
  21. #endif
  22.  
  23. //
  24. // class TUIMetric
  25. // ~~~~~ ~~~~~~~~~~
  26. class _WSYSCLASS TUIMetric {
  27.   public:
  28.     static const TUIMetric CxScreen;
  29.     static const TUIMetric CyScreen;
  30.     static const TUIMetric CxVScroll;
  31.     static const TUIMetric CyHScroll;
  32.     static const TUIMetric CyCaption;
  33.     static const TUIMetric CxBorder;
  34.     static const TUIMetric CyBorder;
  35.     static const TUIMetric CxFixedFrame;
  36.     static const TUIMetric CyFixedFrame;
  37.     static const TUIMetric CyVThumb;
  38.     static const TUIMetric CxHThumb;
  39.     static const TUIMetric CxIcon;
  40.     static const TUIMetric CyIcon;
  41.     static const TUIMetric CxCursor;
  42.     static const TUIMetric CyCursor;
  43.     static const TUIMetric CyMenu;
  44.     static const TUIMetric CxFullScreen;
  45.     static const TUIMetric CyFullScreen;
  46.     static const TUIMetric CyKanjiWindow;
  47.     static const TUIMetric MousePresent;
  48.     static const TUIMetric CyVScroll;
  49.     static const TUIMetric CxHScroll;
  50.     static const TUIMetric Debug;
  51.     static const TUIMetric SwapButton;
  52.     static const TUIMetric Reserved1;
  53.     static const TUIMetric Reserved2;
  54.     static const TUIMetric Reserved3;
  55.     static const TUIMetric Reserved4;
  56.     static const TUIMetric CxMin;
  57.     static const TUIMetric CyMin;
  58.     static const TUIMetric CxSize;
  59.     static const TUIMetric CySize;
  60.     static const TUIMetric CxSizeFrame;
  61.     static const TUIMetric CySizeFrame;
  62.     static const TUIMetric CxMinTrack;
  63.     static const TUIMetric CyMinTrack;
  64.     static const TUIMetric CxDoubleClk;
  65.     static const TUIMetric CyDoubleClk;
  66.     static const TUIMetric CxIconSpacing;
  67.     static const TUIMetric CyIconSpacing;
  68.     static const TUIMetric MenuDropAlignment;
  69.     static const TUIMetric PenWindows;
  70.     static const TUIMetric DbcsEnabled;
  71.     static const TUIMetric CMouseButtons;
  72.     static const TUIMetric Secure;
  73.     static const TUIMetric CxEdge;
  74.     static const TUIMetric CyEdge;
  75.     static const TUIMetric CxMinSpacing;
  76.     static const TUIMetric CyMinSpacing;
  77.     static const TUIMetric CxSmIcon;
  78.     static const TUIMetric CySmIcon;
  79.     static const TUIMetric CySmCaption;
  80.     static const TUIMetric CxSmSize;
  81.     static const TUIMetric CySmSize;
  82.     static const TUIMetric CxMenuSize;
  83.     static const TUIMetric CyMenuSize;
  84.     static const TUIMetric Arrange;
  85.     static const TUIMetric CxMinimized;
  86.     static const TUIMetric CyMinimized;
  87.     static const TUIMetric CxMaxTrack;
  88.     static const TUIMetric CyMaxTrack;
  89.     static const TUIMetric CxMaximized;
  90.     static const TUIMetric CyMaximized;
  91.     static const TUIMetric ShowSounds;
  92.     static const TUIMetric KeyboardPref;
  93.     static const TUIMetric HighContrast;
  94.     static const TUIMetric ScreenReader;
  95.     static const TUIMetric CleanBoot;
  96.     static const TUIMetric CxDrag;
  97.     static const TUIMetric CyDrag;
  98.     static const TUIMetric Network;
  99.     static const TUIMetric CxMenuCheck;
  100.     static const TUIMetric CyMenuCheck;
  101.     static const TUIMetric SlowMachine;
  102.     static const TUIMetric MideastEnabled;
  103.  
  104.     static const TUIMetric CxPixelsPerInch;
  105.     static const TUIMetric CyPixelsPerInch;
  106.  
  107.     TUIMetric(int i);
  108.  
  109.     operator int() const;
  110.  
  111.     int Get() const;
  112.     static int Get(int i);
  113.  
  114.   private:
  115.     int I;
  116. };
  117.  
  118. #if defined(BI_NAMESPACE)
  119. }     // namespace ClassLib 
  120. #endif
  121.  
  122. //
  123. inline TUIMetric::TUIMetric(int i)
  124. :
  125.   I(i)
  126. {
  127. }
  128.  
  129. //
  130. inline TUIMetric::operator int() const {
  131.   return Get();
  132. }
  133.  
  134. //
  135. inline int TUIMetric::Get() const {
  136.   return Get(I);
  137. }
  138.  
  139. //
  140. inline int TUIMetric::Get(int i) {
  141.   return ::GetSystemMetrics(i);
  142. }
  143.  
  144. #endif  // WINSYS_UIMETRIC_H
  145.